#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
using namespace std;

//class Person
//{
//public:
//	Person(Person& p)
//	{
//		_age = p._age;
//		_high = p._high;
//	}
//public:
//	int _age;
//	int _high;
//};
//
//int main()
//{
//	return 0;
//}


class A
{
public:
	A(int i = 1)
		:_a(i)
	{
		cout << "A(int i = 1)" << endl;
	}

	A(const A& aa2)
	{
		_a = aa2._a;
		cout << "A(const A& aa2)" << endl;
	}

	~A()
	{
		cout << "~A()" << endl;
	}

private:
	int _a;
};


void f1(A aa)
{}

A f2()
{
	A aa1;
	return aa1;
}

int main()
{
	A ret1 = f2();
	A aa1(1);
	A aa2(A(1));
	return 0;
}